# -*- coding:utf-8 -*-
__author__ = 'Kalyugin Pavel'

from selenium.common.exceptions import NoSuchElementException


class DetailedFilmPage(object):
    def __init__(self, driver):
        self.driver = driver

    def is_film_added(self):
        # Получение доступных кнопок в верхней части страницы
        list_of_actions = self.driver.find_elements_by_xpath("(//*[@id='content']//a)")
        # Проверка - есть ли кнопка удаления фильма
        # Если да - то фильм добавлен
        # Иначе - произошла ошибка
        if len(list_of_actions) > 1:
            # Есть ли дополнительные кнопки вверху страницы
            for elem in list_of_actions:
                if "Remove" in elem.text or "Verwijderen" in elem.text:
                    return True

        # Фильм не был добавлен

        # Проверка на заполненность всех необходимых полей
        # Если длина списка больше 0, значит не все поля заполнены и есть ошибки
        if len(self.driver.find_elements_by_class_name("error")) > 0:
            return False
        raise NoSuchElementException("Film wasn't added. Unknown reason")

    def delete_first_film(self):
        try:
            # Получение списка доступных действий
            list_of_actions = self.driver.find_elements_by_xpath("(//*[@id='content']//a)")
            if len(list_of_actions) > 1:
                # Есть ли дополнительные кнопки вверху страницы
                for action in list_of_actions:
                    # Поиск и нажатие кнопки для удаления фильма
                    if "Remove" in action.text or "Verwijderen" in action.text:
                        action.click()
                        # Подтверждение удаления
                        self.driver.switch_to_alert().accept()
                        return True
        except:
            return False